//
//  BANewFeatureViewController.swift
//  BAweibo
//
//  Created by baggio on 2017/8/15.
//  Copyright © 2017年 baggio. All rights reserved.
//

import UIKit

class BANewFeatureViewController: UICollectionViewController {
    
    private let CELL_COUNT = 4
    
    init() {
        //UICollectionViewController 必须要设置一个 Layout，并且可以在用这个 Layout 做一些设置
        //        let layout = UICollectionViewFlowLayout()
        //        super.init(collectionViewLayout: layout)
        
        let layout = UICollectionViewFlowLayout()
        layout.itemSize=BA_SCREEN_SIZE //每个 cell 的尺寸，就是屏幕大小
        layout.scrollDirection = .horizontal //滚动方向
        //layout.minimumInteritemSpacing=0 //cell 列间距，这里就1列
        layout.minimumLineSpacing=0 //cell 行间距，因为滚动方向是水平，所以这里的行/列要反一反，行/列间距默认都是10
        
        //注意父类构造函数的位置，构造函数完成之后，才会有内部属性 collectionView
        super.init(collectionViewLayout: layout)
        
        //UICollectionViewController 里面有个属性 collectionView
        collectionView?.isPagingEnabled=true //开启分页，如果不开启，滑动过程中 cell 可以显示一半
        collectionView?.bounces=false //去掉弹簧效果
        collectionView?.showsHorizontalScrollIndicator=false //去掉水平方向的滚动条
    }
    
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //注册 cell
        //        //先系统 cell，后面再自定义 cell
        //        self.collectionView?.register(UICollectionViewCell.self, forCellWithReuseIdentifier: NewFeatureViewCellID)
        self.collectionView?.register(BANewFeatureCell.self, forCellWithReuseIdentifier: "cell")
    }
    
    //UICollectionViewController 默认实现了 UICollectionViewDelegate 和 UICollectionViewDataSource，所以不用设置 dataSource 和 delegate了，只要实现协议中的方法就可以了
    //UICollectionViewDataSource
    //cell 数量
    override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return CELL_COUNT
    }
    
    //创建 cell
    override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        
        //先系统 cell ，后面再自定义 cell
        //        let cell=collectionView.dequeueReusableCell(withReuseIdentifier: NewFeatureViewCellID, for: indexPath)
        //        cell.backgroundColor=randomColor()
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! BANewFeatureCell
        cell.imageIndex=indexPath.item // 也可以 indexPath.row
        return cell
    }
    
    //ScrollView 停止滚动
    override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        //最后一个 cell 才动画显示 btn
        let page=Int(scrollView.contentOffset.x / scrollView.bounds.width)
        if page != CELL_COUNT-1{
            return
        }
        
        let cell = collectionView?.cellForItem(at: IndexPath(item: page, section: 0)) as! BANewFeatureCell
        cell.showStartBtnAnimation()
    }
}
